\hypertarget{class_can_jaguar_wrapper}{\section{Can\-Jaguar\-Wrapper Class Reference}
\label{class_can_jaguar_wrapper}\index{Can\-Jaguar\-Wrapper@{Can\-Jaguar\-Wrapper}}
}


{\ttfamily \#include $<$Can\-Jaguar\-Wrapper.\-hpp$>$}

Inheritance diagram for Can\-Jaguar\-Wrapper\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.000000cm]{class_can_jaguar_wrapper}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum \hyperlink{class_can_jaguar_wrapper_a1332f9e2dc73f5fba3e9665c13abe50f}{Encoder\-Kind} \{ \\*
\hyperlink{class_can_jaguar_wrapper_a1332f9e2dc73f5fba3e9665c13abe50fa1e6b9ef545a47213e5d160c3a45e7a5d}{Nothing}, 
\hyperlink{class_can_jaguar_wrapper_a1332f9e2dc73f5fba3e9665c13abe50fa385edf6e9b4cb3943783517365252ea9}{Encoder}, 
\hyperlink{class_can_jaguar_wrapper_a1332f9e2dc73f5fba3e9665c13abe50fa84351dcdff7e1476cd193258fc6efe83}{Inverted\-Encoder}, 
\hyperlink{class_can_jaguar_wrapper_a1332f9e2dc73f5fba3e9665c13abe50fa3af308255ef4ff5be237c5bcfd97dcd4}{Quad\-Encoder}, 
\\*
\hyperlink{class_can_jaguar_wrapper_a1332f9e2dc73f5fba3e9665c13abe50fa46263da1b0b36a80647984f7f90f1f36}{Potentiometer}
 \}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_can_jaguar_wrapper_aa5d73300a96bfaae537823055038f19f}{Can\-Jaguar\-Wrapper} (C\-A\-N\-Jaguar $\ast$can\-Jaguar, \hyperlink{class_can_jaguar_wrapper_a1332f9e2dc73f5fba3e9665c13abe50f}{Encoder\-Kind} encoder\-Kind, bool can\-Delete\-Can\-Jaguar=false)
\item 
\hyperlink{class_can_jaguar_wrapper_acf1a72b7de83720bfb25392eda7cde6c}{Can\-Jaguar\-Wrapper} (C\-A\-N\-Jaguar \&can\-Jaguar, \hyperlink{class_can_jaguar_wrapper_a1332f9e2dc73f5fba3e9665c13abe50f}{Encoder\-Kind} encoder\-Kind)
\item 
\hypertarget{class_can_jaguar_wrapper_a2a9897b8f07bfb492ae47c4c3a303039}{{\bfseries Can\-Jaguar\-Wrapper} (boost\-::shared\-\_\-ptr$<$ C\-A\-N\-Jaguar $>$ \&can\-Jaguar, \hyperlink{class_can_jaguar_wrapper_a1332f9e2dc73f5fba3e9665c13abe50f}{Encoder\-Kind} encoder\-Kind)}\label{class_can_jaguar_wrapper_a2a9897b8f07bfb492ae47c4c3a303039}

\item 
\hyperlink{class_can_jaguar_wrapper_a4890f4bf16cff3325327104a80ca7c40}{Can\-Jaguar\-Wrapper} (C\-A\-N\-Jaguar $\ast$can\-Jaguar, bool can\-Delete\-Can\-Jaguar=false)
\item 
\hyperlink{class_can_jaguar_wrapper_ad481574bef267ae891c310c99629cf4c}{Can\-Jaguar\-Wrapper} (C\-A\-N\-Jaguar \&can\-Jaguar)
\item 
\hypertarget{class_can_jaguar_wrapper_a0353fd37f484c4c41ff25857b88e7f69}{{\bfseries Can\-Jaguar\-Wrapper} (boost\-::shared\-\_\-ptr$<$ C\-A\-N\-Jaguar $>$ \&can\-Jaguar)}\label{class_can_jaguar_wrapper_a0353fd37f484c4c41ff25857b88e7f69}

\item 
virtual void \hyperlink{class_can_jaguar_wrapper_a7e36e59bf836b5207ae0f30728c3bd74}{Set} (float speed, U\-I\-N\-T8 sync\-Group=0)
\item 
virtual float \hyperlink{class_can_jaguar_wrapper_a8b3379ba9b0b4fce6f866a5c3c0454c7}{Get} ()
\item 
virtual void \hyperlink{class_can_jaguar_wrapper_a310ddde37a6ee6a62e1edfe0db0ba57a}{Disable} ()
\item 
virtual double \hyperlink{class_can_jaguar_wrapper_a6418ff3efc800bf842d019695c6240df}{Get\-Speed} ()
\item 
virtual double \hyperlink{class_can_jaguar_wrapper_a22010432547e75a3124999ea1c107b90}{Get\-Position} ()
\item 
virtual void \hyperlink{class_can_jaguar_wrapper_a0f2e3e10ff8d453d4f04af5b211c65b9}{Enable} (double initial\-Encoder\-Position=0)
\item 
virtual \hyperlink{class_pid_motor_controller_a13eddfb79a251f572067f2e2f214b000}{Control\-Mode} \hyperlink{class_can_jaguar_wrapper_af4f940e61e60e6c1ff48f2da8b5f1a00}{Get\-Control\-Mode} ()
\item 
virtual void \hyperlink{class_can_jaguar_wrapper_a4d7809eaa109032e3624b4ef49979bc1}{Set\-Control\-Mode} (\hyperlink{class_pid_motor_controller_a13eddfb79a251f572067f2e2f214b000}{Control\-Mode} mode)
\item 
virtual void \hyperlink{class_can_jaguar_wrapper_adae396e477fce5694e7da7a15fbf0e20}{Set\-Encoders\-Codes\-Per\-Revolution} (U\-I\-N\-T16 codes\-Per\-Revolution)
\item 
virtual void \hyperlink{class_can_jaguar_wrapper_abc09236c254e21d02f80cfa8af906e0c}{Set\-Pid} (double p, double i, double d)
\item 
virtual double \hyperlink{class_can_jaguar_wrapper_a31397381c60457cdc00e0aeb2c8f7653}{Get\-P} ()
\item 
virtual double \hyperlink{class_can_jaguar_wrapper_a8bf0dcc40ee678cf705e3faf184e551d}{Get\-I} ()
\item 
virtual double \hyperlink{class_can_jaguar_wrapper_a4984782f989353ced395f194ef6b19e7}{Get\-D} ()
\end{DoxyCompactItemize}


\subsection{Detailed Description}
The \hyperlink{class_can_jaguar_wrapper}{Can\-Jaguar\-Wrapper} class wraps a C\-A\-N\-Jaguar into a \hyperlink{class_pid_motor_controller}{Pid\-Motor\-Controller} so F\-P\-K can use C\-A\-N\-Jaguars. 

\subsection{Member Enumeration Documentation}
\hypertarget{class_can_jaguar_wrapper_a1332f9e2dc73f5fba3e9665c13abe50f}{\index{Can\-Jaguar\-Wrapper@{Can\-Jaguar\-Wrapper}!Encoder\-Kind@{Encoder\-Kind}}
\index{Encoder\-Kind@{Encoder\-Kind}!CanJaguarWrapper@{Can\-Jaguar\-Wrapper}}
\subsubsection[{Encoder\-Kind}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf Can\-Jaguar\-Wrapper\-::\-Encoder\-Kind}}}\label{class_can_jaguar_wrapper_a1332f9e2dc73f5fba3e9665c13abe50f}
The Encoder\-Kind enum is used to specify what kind of position or distance sensor the C\-A\-N Jaguar is using. \begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{Nothing@{Nothing}!Can\-Jaguar\-Wrapper@{Can\-Jaguar\-Wrapper}}\index{Can\-Jaguar\-Wrapper@{Can\-Jaguar\-Wrapper}!Nothing@{Nothing}}\item[{\em 
\hypertarget{class_can_jaguar_wrapper_a1332f9e2dc73f5fba3e9665c13abe50fa1e6b9ef545a47213e5d160c3a45e7a5d}{Nothing}\label{class_can_jaguar_wrapper_a1332f9e2dc73f5fba3e9665c13abe50fa1e6b9ef545a47213e5d160c3a45e7a5d}
}]The Nothing encoder kind specifies that no encoder is used. \index{Encoder@{Encoder}!Can\-Jaguar\-Wrapper@{Can\-Jaguar\-Wrapper}}\index{Can\-Jaguar\-Wrapper@{Can\-Jaguar\-Wrapper}!Encoder@{Encoder}}\item[{\em 
\hypertarget{class_can_jaguar_wrapper_a1332f9e2dc73f5fba3e9665c13abe50fa385edf6e9b4cb3943783517365252ea9}{Encoder}\label{class_can_jaguar_wrapper_a1332f9e2dc73f5fba3e9665c13abe50fa385edf6e9b4cb3943783517365252ea9}
}]The Encoder encoder kind specifies that a normal encoder is used. \index{Inverted\-Encoder@{Inverted\-Encoder}!Can\-Jaguar\-Wrapper@{Can\-Jaguar\-Wrapper}}\index{Can\-Jaguar\-Wrapper@{Can\-Jaguar\-Wrapper}!Inverted\-Encoder@{Inverted\-Encoder}}\item[{\em 
\hypertarget{class_can_jaguar_wrapper_a1332f9e2dc73f5fba3e9665c13abe50fa84351dcdff7e1476cd193258fc6efe83}{Inverted\-Encoder}\label{class_can_jaguar_wrapper_a1332f9e2dc73f5fba3e9665c13abe50fa84351dcdff7e1476cd193258fc6efe83}
}]The Inverted\-Encoder encoder kind specifies that an inverted encoder is used. \index{Quad\-Encoder@{Quad\-Encoder}!Can\-Jaguar\-Wrapper@{Can\-Jaguar\-Wrapper}}\index{Can\-Jaguar\-Wrapper@{Can\-Jaguar\-Wrapper}!Quad\-Encoder@{Quad\-Encoder}}\item[{\em 
\hypertarget{class_can_jaguar_wrapper_a1332f9e2dc73f5fba3e9665c13abe50fa3af308255ef4ff5be237c5bcfd97dcd4}{Quad\-Encoder}\label{class_can_jaguar_wrapper_a1332f9e2dc73f5fba3e9665c13abe50fa3af308255ef4ff5be237c5bcfd97dcd4}
}]The Quad\-Encoder encoder kind specifies that a quadrature encoder is used. \index{Potentiometer@{Potentiometer}!Can\-Jaguar\-Wrapper@{Can\-Jaguar\-Wrapper}}\index{Can\-Jaguar\-Wrapper@{Can\-Jaguar\-Wrapper}!Potentiometer@{Potentiometer}}\item[{\em 
\hypertarget{class_can_jaguar_wrapper_a1332f9e2dc73f5fba3e9665c13abe50fa46263da1b0b36a80647984f7f90f1f36}{Potentiometer}\label{class_can_jaguar_wrapper_a1332f9e2dc73f5fba3e9665c13abe50fa46263da1b0b36a80647984f7f90f1f36}
}]The Potentiometer encoder kind specifies that a potentiometer is used. \end{description}
\end{Desc}


\subsection{Constructor \& Destructor Documentation}
\hypertarget{class_can_jaguar_wrapper_aa5d73300a96bfaae537823055038f19f}{\index{Can\-Jaguar\-Wrapper@{Can\-Jaguar\-Wrapper}!Can\-Jaguar\-Wrapper@{Can\-Jaguar\-Wrapper}}
\index{Can\-Jaguar\-Wrapper@{Can\-Jaguar\-Wrapper}!CanJaguarWrapper@{Can\-Jaguar\-Wrapper}}
\subsubsection[{Can\-Jaguar\-Wrapper}]{\setlength{\rightskip}{0pt plus 5cm}Can\-Jaguar\-Wrapper\-::\-Can\-Jaguar\-Wrapper (
\begin{DoxyParamCaption}
\item[{C\-A\-N\-Jaguar $\ast$}]{can\-Jaguar, }
\item[{{\bf Can\-Jaguar\-Wrapper\-::\-Encoder\-Kind}}]{encoder\-Kind, }
\item[{bool}]{can\-Delete\-Can\-Jaguar = {\ttfamily false}}
\end{DoxyParamCaption}
)}}\label{class_can_jaguar_wrapper_aa5d73300a96bfaae537823055038f19f}
Constructor for \hyperlink{class_can_jaguar_wrapper}{Can\-Jaguar\-Wrapper}.


\begin{DoxyParams}{Parameters}
{\em can\-Jaguar} & A pointer to the C\-A\-N\-Jaguar to wrap. \\
\hline
{\em encoder\-Kind} & The type of position or distance sensor used. \\
\hline
{\em can\-Delete\-Can\-Jaguar} & If the \hyperlink{class_can_jaguar_wrapper}{Can\-Jaguar\-Wrapper} can delete the C\-A\-N\-Jaguar so long as it functions correctly and no shared pointer is kept. \\
\hline
\end{DoxyParams}
\hypertarget{class_can_jaguar_wrapper_acf1a72b7de83720bfb25392eda7cde6c}{\index{Can\-Jaguar\-Wrapper@{Can\-Jaguar\-Wrapper}!Can\-Jaguar\-Wrapper@{Can\-Jaguar\-Wrapper}}
\index{Can\-Jaguar\-Wrapper@{Can\-Jaguar\-Wrapper}!CanJaguarWrapper@{Can\-Jaguar\-Wrapper}}
\subsubsection[{Can\-Jaguar\-Wrapper}]{\setlength{\rightskip}{0pt plus 5cm}Can\-Jaguar\-Wrapper\-::\-Can\-Jaguar\-Wrapper (
\begin{DoxyParamCaption}
\item[{C\-A\-N\-Jaguar \&}]{can\-Jaguar, }
\item[{{\bf Can\-Jaguar\-Wrapper\-::\-Encoder\-Kind}}]{encoder\-Kind}
\end{DoxyParamCaption}
)}}\label{class_can_jaguar_wrapper_acf1a72b7de83720bfb25392eda7cde6c}
Constructor for \hyperlink{class_can_jaguar_wrapper}{Can\-Jaguar\-Wrapper}.


\begin{DoxyParams}{Parameters}
{\em can\-Jaguar} & A reference to the C\-A\-N\-Jaguar to wrap. \\
\hline
{\em encoder\-Kind} & The type of position or distance sensor used. \\
\hline
\end{DoxyParams}
\hypertarget{class_can_jaguar_wrapper_a4890f4bf16cff3325327104a80ca7c40}{\index{Can\-Jaguar\-Wrapper@{Can\-Jaguar\-Wrapper}!Can\-Jaguar\-Wrapper@{Can\-Jaguar\-Wrapper}}
\index{Can\-Jaguar\-Wrapper@{Can\-Jaguar\-Wrapper}!CanJaguarWrapper@{Can\-Jaguar\-Wrapper}}
\subsubsection[{Can\-Jaguar\-Wrapper}]{\setlength{\rightskip}{0pt plus 5cm}Can\-Jaguar\-Wrapper\-::\-Can\-Jaguar\-Wrapper (
\begin{DoxyParamCaption}
\item[{C\-A\-N\-Jaguar $\ast$}]{can\-Jaguar, }
\item[{bool}]{can\-Delete\-Can\-Jaguar = {\ttfamily false}}
\end{DoxyParamCaption}
)}}\label{class_can_jaguar_wrapper_a4890f4bf16cff3325327104a80ca7c40}
Constructor for \hyperlink{class_can_jaguar_wrapper}{Can\-Jaguar\-Wrapper}.

It is assumed that the C\-A\-N\-Jaguar uses a quadrature encoder.


\begin{DoxyParams}{Parameters}
{\em can\-Jaguar} & A pointer to the C\-A\-N\-Jaguar to wrap. \\
\hline
{\em can\-Delete\-Can\-Jaguar} & If the \hyperlink{class_can_jaguar_wrapper}{Can\-Jaguar\-Wrapper} can delete the C\-A\-N\-Jaguar so long as it functions correctly and no shared pointer is kept. \\
\hline
\end{DoxyParams}
\hypertarget{class_can_jaguar_wrapper_ad481574bef267ae891c310c99629cf4c}{\index{Can\-Jaguar\-Wrapper@{Can\-Jaguar\-Wrapper}!Can\-Jaguar\-Wrapper@{Can\-Jaguar\-Wrapper}}
\index{Can\-Jaguar\-Wrapper@{Can\-Jaguar\-Wrapper}!CanJaguarWrapper@{Can\-Jaguar\-Wrapper}}
\subsubsection[{Can\-Jaguar\-Wrapper}]{\setlength{\rightskip}{0pt plus 5cm}Can\-Jaguar\-Wrapper\-::\-Can\-Jaguar\-Wrapper (
\begin{DoxyParamCaption}
\item[{C\-A\-N\-Jaguar \&}]{can\-Jaguar}
\end{DoxyParamCaption}
)}}\label{class_can_jaguar_wrapper_ad481574bef267ae891c310c99629cf4c}
Constructor for \hyperlink{class_can_jaguar_wrapper}{Can\-Jaguar\-Wrapper}.

It is assumed that the C\-A\-N\-Jaguar uses a quadrature encoder.


\begin{DoxyParams}{Parameters}
{\em can\-Jaguar} & A reference to the C\-A\-N\-Jaguar to wrap. \\
\hline
\end{DoxyParams}


\subsection{Member Function Documentation}
\hypertarget{class_can_jaguar_wrapper_a310ddde37a6ee6a62e1edfe0db0ba57a}{\index{Can\-Jaguar\-Wrapper@{Can\-Jaguar\-Wrapper}!Disable@{Disable}}
\index{Disable@{Disable}!CanJaguarWrapper@{Can\-Jaguar\-Wrapper}}
\subsubsection[{Disable}]{\setlength{\rightskip}{0pt plus 5cm}void Can\-Jaguar\-Wrapper\-::\-Disable (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_can_jaguar_wrapper_a310ddde37a6ee6a62e1edfe0db0ba57a}
Disable the motor. \hypertarget{class_can_jaguar_wrapper_a0f2e3e10ff8d453d4f04af5b211c65b9}{\index{Can\-Jaguar\-Wrapper@{Can\-Jaguar\-Wrapper}!Enable@{Enable}}
\index{Enable@{Enable}!CanJaguarWrapper@{Can\-Jaguar\-Wrapper}}
\subsubsection[{Enable}]{\setlength{\rightskip}{0pt plus 5cm}void Can\-Jaguar\-Wrapper\-::\-Enable (
\begin{DoxyParamCaption}
\item[{double}]{initial\-Encoder\-Position = {\ttfamily 0}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_can_jaguar_wrapper_a0f2e3e10ff8d453d4f04af5b211c65b9}
Enable the motor.

If the parameter initial\-Encoder\-Position is passed, the current position should be treated as initial\-Encoder\-Position.


\begin{DoxyParams}{Parameters}
{\em initial\-Encoder\-Position} & The initial position of the motor. \\
\hline
\end{DoxyParams}


Implements \hyperlink{class_pid_motor_controller_a43fd491df57bc20e6f54ff7bf561cb4a}{Pid\-Motor\-Controller}.

\hypertarget{class_can_jaguar_wrapper_a8b3379ba9b0b4fce6f866a5c3c0454c7}{\index{Can\-Jaguar\-Wrapper@{Can\-Jaguar\-Wrapper}!Get@{Get}}
\index{Get@{Get}!CanJaguarWrapper@{Can\-Jaguar\-Wrapper}}
\subsubsection[{Get}]{\setlength{\rightskip}{0pt plus 5cm}float Can\-Jaguar\-Wrapper\-::\-Get (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_can_jaguar_wrapper_a8b3379ba9b0b4fce6f866a5c3c0454c7}
Gets the target value of the motor set by the user.

What it gets depends on the currently set Control\-Mode.

\begin{DoxyReturn}{Returns}
The target value set by the user. 
\end{DoxyReturn}
\hypertarget{class_can_jaguar_wrapper_af4f940e61e60e6c1ff48f2da8b5f1a00}{\index{Can\-Jaguar\-Wrapper@{Can\-Jaguar\-Wrapper}!Get\-Control\-Mode@{Get\-Control\-Mode}}
\index{Get\-Control\-Mode@{Get\-Control\-Mode}!CanJaguarWrapper@{Can\-Jaguar\-Wrapper}}
\subsubsection[{Get\-Control\-Mode}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Pid\-Motor\-Controller\-::\-Control\-Mode} Can\-Jaguar\-Wrapper\-::\-Get\-Control\-Mode (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_can_jaguar_wrapper_af4f940e61e60e6c1ff48f2da8b5f1a00}
Get the current Control\-Mode that the motor is in.

\begin{DoxyReturn}{Returns}
The current Control\-Mode. 
\end{DoxyReturn}


Implements \hyperlink{class_pid_motor_controller_a79f8cbc8e9eb867722cd0cf7eb12772a}{Pid\-Motor\-Controller}.

\hypertarget{class_can_jaguar_wrapper_a4984782f989353ced395f194ef6b19e7}{\index{Can\-Jaguar\-Wrapper@{Can\-Jaguar\-Wrapper}!Get\-D@{Get\-D}}
\index{Get\-D@{Get\-D}!CanJaguarWrapper@{Can\-Jaguar\-Wrapper}}
\subsubsection[{Get\-D}]{\setlength{\rightskip}{0pt plus 5cm}double Can\-Jaguar\-Wrapper\-::\-Get\-D (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_can_jaguar_wrapper_a4984782f989353ced395f194ef6b19e7}
Get the current D value

\begin{DoxyReturn}{Returns}
The current D value. 
\end{DoxyReturn}


Implements \hyperlink{class_pid_motor_controller_a6d40a6d4c2cbb8d34babee2fb9f5c098}{Pid\-Motor\-Controller}.

\hypertarget{class_can_jaguar_wrapper_a8bf0dcc40ee678cf705e3faf184e551d}{\index{Can\-Jaguar\-Wrapper@{Can\-Jaguar\-Wrapper}!Get\-I@{Get\-I}}
\index{Get\-I@{Get\-I}!CanJaguarWrapper@{Can\-Jaguar\-Wrapper}}
\subsubsection[{Get\-I}]{\setlength{\rightskip}{0pt plus 5cm}double Can\-Jaguar\-Wrapper\-::\-Get\-I (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_can_jaguar_wrapper_a8bf0dcc40ee678cf705e3faf184e551d}
Get the current I value

\begin{DoxyReturn}{Returns}
The current I value. 
\end{DoxyReturn}


Implements \hyperlink{class_pid_motor_controller_aff6dea3afe08690864c68b4962535fd1}{Pid\-Motor\-Controller}.

\hypertarget{class_can_jaguar_wrapper_a31397381c60457cdc00e0aeb2c8f7653}{\index{Can\-Jaguar\-Wrapper@{Can\-Jaguar\-Wrapper}!Get\-P@{Get\-P}}
\index{Get\-P@{Get\-P}!CanJaguarWrapper@{Can\-Jaguar\-Wrapper}}
\subsubsection[{Get\-P}]{\setlength{\rightskip}{0pt plus 5cm}double Can\-Jaguar\-Wrapper\-::\-Get\-P (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_can_jaguar_wrapper_a31397381c60457cdc00e0aeb2c8f7653}
Get the current P value

\begin{DoxyReturn}{Returns}
The current P value. 
\end{DoxyReturn}


Implements \hyperlink{class_pid_motor_controller_ac78e406263f408dbf96b8c36e6e27e46}{Pid\-Motor\-Controller}.

\hypertarget{class_can_jaguar_wrapper_a22010432547e75a3124999ea1c107b90}{\index{Can\-Jaguar\-Wrapper@{Can\-Jaguar\-Wrapper}!Get\-Position@{Get\-Position}}
\index{Get\-Position@{Get\-Position}!CanJaguarWrapper@{Can\-Jaguar\-Wrapper}}
\subsubsection[{Get\-Position}]{\setlength{\rightskip}{0pt plus 5cm}double Can\-Jaguar\-Wrapper\-::\-Get\-Position (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_can_jaguar_wrapper_a22010432547e75a3124999ea1c107b90}
Get the current position in units of rotations that the motor has reached since motor was enabled.

\begin{DoxyReturn}{Returns}
The current position of the motor. 
\end{DoxyReturn}


Implements \hyperlink{class_pid_motor_controller_aed237a512f0edbdc968d2a89932ba8aa}{Pid\-Motor\-Controller}.

\hypertarget{class_can_jaguar_wrapper_a6418ff3efc800bf842d019695c6240df}{\index{Can\-Jaguar\-Wrapper@{Can\-Jaguar\-Wrapper}!Get\-Speed@{Get\-Speed}}
\index{Get\-Speed@{Get\-Speed}!CanJaguarWrapper@{Can\-Jaguar\-Wrapper}}
\subsubsection[{Get\-Speed}]{\setlength{\rightskip}{0pt plus 5cm}double Can\-Jaguar\-Wrapper\-::\-Get\-Speed (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_can_jaguar_wrapper_a6418ff3efc800bf842d019695c6240df}
Get the current speed that the motor is running in units of rotations per minute (R\-P\-M).

\begin{DoxyReturn}{Returns}
The current speed of the motor. 
\end{DoxyReturn}


Implements \hyperlink{class_pid_motor_controller_a694ac2d6827967e8449b8d8cfd4f67b0}{Pid\-Motor\-Controller}.

\hypertarget{class_can_jaguar_wrapper_a7e36e59bf836b5207ae0f30728c3bd74}{\index{Can\-Jaguar\-Wrapper@{Can\-Jaguar\-Wrapper}!Set@{Set}}
\index{Set@{Set}!CanJaguarWrapper@{Can\-Jaguar\-Wrapper}}
\subsubsection[{Set}]{\setlength{\rightskip}{0pt plus 5cm}void Can\-Jaguar\-Wrapper\-::\-Set (
\begin{DoxyParamCaption}
\item[{float}]{speed, }
\item[{U\-I\-N\-T8}]{sync\-Group = {\ttfamily 0}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_can_jaguar_wrapper_a7e36e59bf836b5207ae0f30728c3bd74}
Set the value of the motor.

What it sets depends on the currently set Control\-Mode.


\begin{DoxyParams}{Parameters}
{\em speed} & The target value. (Parameter name may be misleading.) \\
\hline
{\em sync\-Group} & See C\-A\-N\-Jaguar\-::\-Set function documentation. (The default value of this parameter will work fine.) \\
\hline
\end{DoxyParams}
\hypertarget{class_can_jaguar_wrapper_a4d7809eaa109032e3624b4ef49979bc1}{\index{Can\-Jaguar\-Wrapper@{Can\-Jaguar\-Wrapper}!Set\-Control\-Mode@{Set\-Control\-Mode}}
\index{Set\-Control\-Mode@{Set\-Control\-Mode}!CanJaguarWrapper@{Can\-Jaguar\-Wrapper}}
\subsubsection[{Set\-Control\-Mode}]{\setlength{\rightskip}{0pt plus 5cm}void Can\-Jaguar\-Wrapper\-::\-Set\-Control\-Mode (
\begin{DoxyParamCaption}
\item[{{\bf Pid\-Motor\-Controller\-::\-Control\-Mode}}]{mode}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_can_jaguar_wrapper_a4d7809eaa109032e3624b4ef49979bc1}
Set the Control\-Mode.

You will need to call Enable to actually change the control mode.


\begin{DoxyParams}{Parameters}
{\em mode} & The desired Control\-Mode. \\
\hline
\end{DoxyParams}


Implements \hyperlink{class_pid_motor_controller_a2bf9cf6c4eb2c98e7af07d10f408762a}{Pid\-Motor\-Controller}.

\hypertarget{class_can_jaguar_wrapper_adae396e477fce5694e7da7a15fbf0e20}{\index{Can\-Jaguar\-Wrapper@{Can\-Jaguar\-Wrapper}!Set\-Encoders\-Codes\-Per\-Revolution@{Set\-Encoders\-Codes\-Per\-Revolution}}
\index{Set\-Encoders\-Codes\-Per\-Revolution@{Set\-Encoders\-Codes\-Per\-Revolution}!CanJaguarWrapper@{Can\-Jaguar\-Wrapper}}
\subsubsection[{Set\-Encoders\-Codes\-Per\-Revolution}]{\setlength{\rightskip}{0pt plus 5cm}void Can\-Jaguar\-Wrapper\-::\-Set\-Encoders\-Codes\-Per\-Revolution (
\begin{DoxyParamCaption}
\item[{U\-I\-N\-T16}]{codes\-Per\-Revolution}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_can_jaguar_wrapper_adae396e477fce5694e7da7a15fbf0e20}
Set the number of encoder codes per revolution.

Specify the number of encoder \char`\"{}codes\char`\"{} it takes to complete a revolution.


\begin{DoxyParams}{Parameters}
{\em codes\-Per\-Revolution} & The number of encoder codes per revolution. \\
\hline
\end{DoxyParams}


Implements \hyperlink{class_pid_motor_controller_a648fbdb1ddb88b255398a63f7c875d40}{Pid\-Motor\-Controller}.

\hypertarget{class_can_jaguar_wrapper_abc09236c254e21d02f80cfa8af906e0c}{\index{Can\-Jaguar\-Wrapper@{Can\-Jaguar\-Wrapper}!Set\-Pid@{Set\-Pid}}
\index{Set\-Pid@{Set\-Pid}!CanJaguarWrapper@{Can\-Jaguar\-Wrapper}}
\subsubsection[{Set\-Pid}]{\setlength{\rightskip}{0pt plus 5cm}void Can\-Jaguar\-Wrapper\-::\-Set\-Pid (
\begin{DoxyParamCaption}
\item[{double}]{p, }
\item[{double}]{i, }
\item[{double}]{d}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_can_jaguar_wrapper_abc09236c254e21d02f80cfa8af906e0c}
Set the P, I, and D values.


\begin{DoxyParams}{Parameters}
{\em p} & The P value. \\
\hline
{\em i} & The I value. \\
\hline
{\em d} & The D value. \\
\hline
\end{DoxyParams}


Implements \hyperlink{class_pid_motor_controller_aeaa9df6864320c7aadbd1759223fea17}{Pid\-Motor\-Controller}.



The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
C\-:/\-Users/\-Sam/\-Projects/\-F\-R\-C/\-Libraries/\-Fpk/\-Entech-\/\-Fpk-\/\-Subscribers/\-Entech-\/\-Fpk/\-Actuators/Can\-Jaguar\-Wrapper.\-hpp\item 
C\-:/\-Users/\-Sam/\-Projects/\-F\-R\-C/\-Libraries/\-Fpk/\-Entech-\/\-Fpk-\/\-Subscribers/\-Entech-\/\-Fpk/\-Actuators/Can\-Jaguar\-Wrapper.\-cpp\end{DoxyCompactItemize}
